【セッションレポート】AWSでのデータ活用を加速するデータ連携のパターンとベストプラクティス #AWSSummit
はじめに
AWS Summit Tokyo に参加しました!
1日目 AWS-07 「AWSでのデータ活用を加速するデータ連携のパターンとベストプラクティス」のセッションレポートを投稿いたします。
セッション視聴
AWS Summit Tokyoの登録を行うことでオンデマンドで視聴可能です。(現地参加された方は改めての登録は不要です。)
登録済みの場合、以下から直接遷移できます。
https://jpsummit.awsevents.com/public/session/view/526
セッション概要
データドリブン経営の推進やデジタル戦略の加速には、組織内外のあらゆるデータソースから情報を効率よく収集し、それらをユーザーの様々な分析ニーズに合わせて、 安全かつ高速に提供できるデータ基盤が必要不可欠です。
本セッションでは、データソースの種類や、 分析に必要なデータの鮮度によって、押さえておきたいデータ連携のパターンやベストプラクティスについて、デモを交えながらご紹介します。
セッションレポート
アジェンダです。
- データ活用における課題とモダンデータアーキテクチャ
- データ活用基盤への連携パターン
- データベースからのデータ連携詳解
- SaaSアプリケーションからのデータ連携詳解
データ活用における課題とモダンデータアーキテクチャ
- データは先着的資産である
- 99%の企業がデータドリブン型組織を目指している
- 従来のデータ分析基盤における課題
- データのサイロ化
- ビジネス変化への対応
- パフォーマンス
- 今日のデータ分析基盤求められる要素
- デプロイしやすく、セルフサービスで、自動スケーリングが可能なデータ分析基盤によって、多様なユーザーがデータをより効果的に活用する
- 上記を満たしたアプローチとして、AWSのモダンデータアーキテクチャを定義
データ活用基盤への連携パターン
- モダンデータアーキテクチャを構成する要素
- データソース→収集→ストレージ→加工→分析
- 本セッションは、収集にフォーカス
- データソース→収集→ストレージ→加工→分析
- 収集は、何を、どこに、どうやって集めるか
- 貯めたデータを、どのようなユーザーが、どのような目的で活用したいかをもとに、データソースやデータ連携の方式を決定する
- データ連携の方式を決めるポイント
- データソース × データ格納先 × 必要なデータの鮮度
- 主なデータソース
- データベース
- ファイル
- SaaSアプリケーション
- ストリーミング
- 3rdパーティーデータ
- データ格納先の主な選択肢
- Amazon S3
- 耐久性とスケーラビリティ
- 最もスタンダードな選択肢
- Amazon Redshift
- BIツールとの連携
- SQLをベースとして分析
- Amazon S3
- データ連携パターン:データベース
- バッチ(日〜数時間ごと):AWS Glue、AWS Lake Formation、AWS DMS
- ストリーミング(ニアリアルタイム):AWS DMS
- データ連携パターン:ファイル(ファイルサーバ)
- AWS DataSync、AWS Snowball:オンプレミスとAWS ストレージ間をデータ転送が可能
- データ連携パターン:ファイル(外部システム連携)
- AWS Transfer Family:外部システムからAWSにファイル転送が可能
- データ連携パターン:SaaSアプリケーション
- Amazon AppFlow:SaaSとAWSサービス内でデータ転送が可能
- データ連携パターン:ストリーミング
- Amazon Kinesis、Amazon MSK:リアルタイムにデータを転送
- データ連携パターン:3rdパーティーデータ
- AWS Data Exchange:様々な3rdパーティーデータのデータを収集できる
データベースからのデータ連携詳解
- ファイルエクスポートによるバッチ連携(日次)
- OSSエンジン(MySQL、PostgreSQL、MariaDB)のRDSやAuroraの場合
- スナップショット or クラスタからのS3エクスポート
- 差分データのみの連携は不可
- クラスタからのエクスポートは、Auroraのみ可能
- それ以外の場合
- データベース側で用意されているユーティリティを使ってCSV等にエクスポート
- AWS GlueからSQLを発行して、CSVやParquet 形式でS3にエクスポート
- OSSエンジン(MySQL、PostgreSQL、MariaDB)のRDSやAuroraの場合
- AWS Glueをつかったマイクロバッチ連携(日次~数時間ごと)
- データソースにJDBC経由で接続し、データを抽出
- ジョブブックマーク機能を使って、データの差分抽出が可能
- データソース
- S3、JDBC接続データソース
- SQLを用いたデータの検証や、フィルタリング、データ加工を実施可能
- データソースにJDBC経由で接続し、データを抽出
- AWS Lake Formationをつかったデータ収集のセットアップ
- Blueprint:データ収集のパイプラインを数クリックで構築できる
- ワークフローグラフを用いた収集状況の可視化も可能
- データベースからのニアリアルタイム連携
- DMSを利用することで、様々なデータベースをAWSのデータベースに連携できる
- DMSを利用する場合の留意点
- 既存データ移行による、ソースデータベースやネットワークに負荷がかかる
- →AWS DataSync等のファイル連携ソリューションとの併用も検討すること
- 既存データ移行による、ソースデータベースやネットワークに負荷がかかる
- DMSを利用する場合の留意点
- [プレビュー]AuroraとRedshiftのゼロETL統合
- CDCによるニアリアルタイムなデータ連携をシンプルに実現
- ETLのパイプラインが不要
- Auroraで発生した大量のデータを分析や機械学習に利用可能
- DMSを利用することで、様々なデータベースをAWSのデータベースに連携できる
SaaSアプリケーションからのデータ連携詳解
- Amazon AppFlow
- SaaSアプリケーションとAWS間の双方向のデータフローを可能にする
- 55以上のSaaSやAWSサービスと連携可能
- AWS PrivateLink をつかったSaaSとの閉域通信
- Amazon AppFlow デモ
- Salesforce から Amazon S3へのデータ連携
- AppFlowのコンソール内で、送信元をSalesforce、送信先をS3に設定し、簡単な操作でデータ連携できる
- S3でAthenaでデータを分析する
- Salesforce から Amazon S3へのデータ連携
感想
- データの収集は、何となくデータを取得するのではなく、目的を持ってデータを収集することが大切だと分かりました。
- 様々なデータ連携パターンを学ぶことができたため、連携で必要な各AWSサービスの理解をより深めるセッションだと感じました。
- Amazon AppFlowのデモでは、簡単な操作でデータ連携できていたため、セッションで紹介されていたAmazon AppFlowのWorkshopに取り組んで、キャッチアップしたいと思います。
- 現段階でプレビューのAuroraとRedshiftのゼロETL統合を早く使ってみたいです。